KeyChainException Exception

A method of the KeyChain or KeyChainItem classes failed. See the error code returned by KeyChainException to diagnose the problem.


Notes

The following tables shows the values of ErrorNumber and the associated text returned in the Message property.

Error NumberMessage
-128 User Cancelled.
-25291 Key Chain not available.
-25292 Key Chain read only.
-25293 Key Chain Authorization failed.
-25294 No such Key Chain.
-25295 Invalid Key Chain.
-25296 Duplicate Key Chain.
-25797 Key Chain Duplicate Callback.
-25298 Key Chain Invalid Callback.
-25299 Key Chain Duplicate Item.
-25300 Key Chain Item Not Found.
-25301 Key Chain Buffer Too Small.
-25302 Key Chain Data Too Large.
-25303 Key Chain No Such Attribute.
-25304 Key Chain Invalid Item Reference.
-25305 Key Chain Invalid Search Reference.
-25306 Key Chain No Such Class.
-25307 No Default Key Chain.
-25308 Key Chain Interaction Not Allowed.
-25309 Key Chain Read Only Attribute.
-25310 Wrong Key Chain Version.
-25311 Key Chain Key Size Not Allowed.
-25312 Key Chain No Storage Module.
-25313 Key Chain No Certificate Module.
-25314 Key Chain No Policy Module.
-25315 Key Chain Interaction Required.
-25316 Key Chain Data Not Available.
-25317 Key Chain Data Not Modifiable.
-25318 Key Chain Create Chain Failed.


Examples

The following example displays a message box if, for example, you try to create more than one KeyChainItem for the same application

Dim NewItem as KeyChainItem
  If System.KeyChainCount > 0 then
    
    NewItem = New KeyChainItem
    'Indicate the name of the application
    NewItem.ServiceName = "MyApplication"
    
    'Create a new keychain item for the application and assign the password
     System.KeyChain.AddPassword NewItem, "SecretPassword"
  Else
     Beep
     MsgBox "You don't have a key chain."
  End if

Exception err as KeyChainException
   MsgBox err.Message+". Error Code: "+ Str(err.errorNumber)

:

The following example uses an Exception block to display a message box if the application specified by ServiceName does not have a KeyChainItem.

Dim ItemToFind as KeyChainItem
Dim password As String
  
ItemToFind = New KeyChainItem
  
'Indicate the name of the application whose keychain item you wish to find
ItemToFind.ServiceName = "MyApplication"
  
  'get application's password from the system keychain
password = System.KeyChain.FindPassword(ItemToFind)
MsgBox "The password for this item is: " + password
  
Exception err as KeyChainException
MsgBox "Can't find item: " + err.Message

See Also

KeyChain, KeyChainItem, RuntimeException classes; System object.